package com.ddxz.hetong.mapper;

import com.ddxz.hetong.dto.DeviceDeptDto;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * description
 *
 * @author 朱宗刚
 * @version 1.0.0
 * @date 2022/7/8
 */

@Mapper
@Repository
public interface DeviceMapper {
    /**
     * 获取所有设备合同的总金额
     * @return 总金额
     */
    DeviceDeptDto getTotalMoney();

    /**
     * 获取汇总合集
     * @return 列表
     */
    Page<DeviceDeptDto> getDeptList();

    /**
     * 列表信息
     * @param deptName 单位名称
     * @param protoName 合同名称
     * @return 列表
     */
    Page<DeviceDeptDto> getDeptProtoList(@Param("dept") String deptName, @Param("proto") String protoName);

    /**
     * 列表信息
     * @param deptName 单位名称
     * @param protoName 合同名称
     * @return 列表
     */
    Page<DeviceDeptDto> getDetail(@Param("dept") String deptName, @Param("proto") String protoName);

    /**
     * 获取不同进度下的合同个数
     * @return 列表
     */
    List<DeviceDeptDto> getPercentList();

    /**
     * 获取指定进度区间下的详情
     * @param status 进度区间
     * @return 列表
     */
    Page<DeviceDeptDto> getPercentDetail(@Param("status") Integer status);

    /**
     * 合同列表，显示合同金额，支付金额，发票金额，支付进度，未开票金额
     * @return 列表
     */
    Page<DeviceDeptDto> getProtoList();
}
